Stop column header drag operations if the grab is broken.
authorMatthias Clasen <mclasen@redhat.com>
Sun, 26 Jun 2005 06:51:55 +0000 (06:51 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 26 Jun 2005 06:51:55 +0000 (06:51 +0000)
2005-06-26  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtktreeview.c (gtk_tree_view_grab_broken): Stop column
header drag operations if the grab is broken.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtktreeview.c

index 98d0aeb4856ea72a2a4a053345be7966872fcba2..970a4671e8dc56da36ebbeed0b49fca6364b8a46 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-06-26  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktreeview.c (gtk_tree_view_grab_broken): Stop column
+       header drag operations if the grab is broken.
+
        * gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
        the grab is broken.
 
index 98d0aeb4856ea72a2a4a053345be7966872fcba2..970a4671e8dc56da36ebbeed0b49fca6364b8a46 100644 (file)
@@ -1,5 +1,8 @@
 2005-06-26  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktreeview.c (gtk_tree_view_grab_broken): Stop column
+       header drag operations if the grab is broken.
+
        * gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
        the grab is broken.
 
index 98d0aeb4856ea72a2a4a053345be7966872fcba2..970a4671e8dc56da36ebbeed0b49fca6364b8a46 100644 (file)
@@ -1,5 +1,8 @@
 2005-06-26  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtktreeview.c (gtk_tree_view_grab_broken): Stop column
+       header drag operations if the grab is broken.
+
        * gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
        the grab is broken.
 
index 40072b75bab95af444015486deff9ba5837f12f4..b3e0256beb87e153de261e1bc06fd16f1c07b35f 100644 (file)
@@ -177,6 +177,8 @@ static gboolean gtk_tree_view_button_press         (GtkWidget        *widget,
                                                    GdkEventButton   *event);
 static gboolean gtk_tree_view_button_release       (GtkWidget        *widget,
                                                    GdkEventButton   *event);
+static gboolean gtk_tree_view_grab_broken          (GtkWidget          *widget,
+                                                   GdkEventGrabBroken *event);
 #if 0
 static gboolean gtk_tree_view_configure            (GtkWidget         *widget,
                                                    GdkEventConfigure *event);
@@ -522,6 +524,7 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
   widget_class->size_allocate = gtk_tree_view_size_allocate;
   widget_class->button_press_event = gtk_tree_view_button_press;
   widget_class->button_release_event = gtk_tree_view_button_release;
+  widget_class->grab_broken_event = gtk_tree_view_grab_broken;
   /*widget_class->configure_event = gtk_tree_view_configure;*/
   widget_class->motion_notify_event = gtk_tree_view_motion;
   widget_class->expose_event = gtk_tree_view_expose;
@@ -2669,6 +2672,26 @@ gtk_tree_view_button_release (GtkWidget      *widget,
   return TRUE;
 }
 
+static gboolean
+gtk_tree_view_grab_broken (GtkWidget          *widget,
+                          GdkEventGrabBroken *event)
+{
+  GtkTreeView *tree_view;
+
+  g_return_val_if_fail (GTK_IS_TREE_VIEW (widget), FALSE);
+  g_return_val_if_fail (event != NULL, FALSE);
+
+  tree_view = GTK_TREE_VIEW (widget);
+
+  if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG))
+    gtk_tree_view_button_release_drag_column (widget, (GdkEventButton *)event);
+
+  if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE))
+    gtk_tree_view_button_release_column_resize (widget, (GdkEventButton *)event);
+
+  return TRUE;
+}
+
 #if 0
 static gboolean
 gtk_tree_view_configure (GtkWidget *widget,